const url = require("url");

console.log(url);

const urlStr = "https://www.abc.com:8080/abc/qwe/zxc?username=admin&password=123#top";

// 将url字符转成url对象
// 第二个参数表示是否自动解析query数据为对象
console.log(url.parse(urlStr));

const obj = url.parse(urlStr, true);
console.log(obj);
console.log(obj.query);
console.log(obj.query.username);
console.log(obj.query.password);

const urlObj = {
    protocol: 'https:',     // 协议
    slashes: true,          // 是否使用双斜杠
    auth: null,             // 用户信息
    host: 'www.abc.com:8080',   // 域：域名+端口
    port: '8080',               // 端口
    hostname: 'www.abc.com',    // 域名
    hash: '#top',               // 锚点
    search: '?username=admin&password=123',     // 查询数据
    query: 'username=admin&password=123',       // 查询数据
    pathname: '/abc/qwe/zxc',                   // 路径
    path: '/abc/qwe/zxc?username=admin&password=123',   // 路径（含查询数据）
    href: 'https://www.abc.com:8080/abc/qwe/zxc?username=admin&password=123#top'    //  完整地址
}

// 将url对象转成url字符
console.log(url.format(urlObj));
